Add passkey credentialId to auth challenge response#449
Add passkey credentialId to auth challenge response#449DhruvPareek wants to merge 1 commit intoauth-passkey-list-credential-id-openapifrom
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
Warning This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
This stack of pull requests is managed by Graphite. Learn more about stacking. |
✱ Stainless preview buildsThis PR will update the kotlin openapi python typescript Edit this comment to update them. They will appear in their respective SDK's changelogs. ✅ grid-python studio · code · diff
✅ grid-kotlin studio · code · diff
✅ grid-typescript studio · code · diff
✅ grid-openapi studio · code · diff
This comment is auto-generated by GitHub Actions and is automatically kept up to date as you push. |
79f2981 to
62bf3a8
Compare
9190274 to
04167e9
Compare
04167e9 to
01c31c0
Compare
62bf3a8 to
7eed291
Compare
Greptile SummaryThis PR extends
Confidence Score: 5/5Safe to merge — the change is a clean schema inheritance swap and documentation update with no structural risks. The schema change is minimal and well-scoped: PasskeyAuthChallenge now inherits credentialId from PasskeyAuthMethod rather than from a separate definition. The oneOf discriminator in AuthCredentialResponseOneOf continues to work correctly because AuthMethodResponse's unevaluatedProperties: false will reject any PasskeyAuthChallenge response (which now carries credentialId in addition to the challenge fields). Documentation and examples are consistent across all three changed surfaces (modular YAML, root bundle, Mintlify bundle). No files require special attention.
|
| Filename | Overview |
|---|---|
| openapi/components/schemas/auth/PasskeyAuthChallenge.yaml | Swaps allOf base from AuthMethod to PasskeyAuthMethod, correctly inheriting credentialId; description updated to match narrowed usage (challenge endpoint only). |
| openapi/components/schemas/auth/AuthCredentialResponseOneOf.yaml | Description-only update reflecting the new credentialId field in PasskeyAuthChallenge; oneOf logic unchanged and still correctly disambiguated by unevaluatedProperties: false on AuthMethodResponse. |
| openapi/paths/auth/auth_credentials_{id}_challenge.yaml | Endpoint description, 200-response description, and passkey example updated to surface credentialId; no structural or schema reference changes. |
| openapi.yaml | Bundled spec kept in sync with the modular sources; changes mirror PasskeyAuthChallenge and path-level updates exactly. |
| mintlify/openapi.yaml | Mintlify-targeted bundle kept in sync with openapi.yaml; diff is identical to the root bundle. |
Sequence Diagram
sequenceDiagram
participant Client
participant Grid API
Client->>Grid API: POST /auth/credentials/{id}/challenge\n(clientPublicKey)
Grid API-->>Client: PasskeyAuthChallenge\n{ credentialId, challenge, requestId, expiresAt, ...PasskeyAuthMethod fields }
Note over Client: Pass credentialId as allowCredentials[].id\nPass challenge as WebAuthn challenge\nto navigator.credentials.get()
Client->>Client: navigator.credentials.get()\n→ assertion
Client->>Grid API: POST /auth/credentials/{id}/verify\n(assertion, Request-Id: requestId)
Grid API-->>Client: Session
Reviews (1): Last reviewed commit: "Add passkey credentialId to auth challen..." | Re-trigger Greptile
7eed291 to
b53b7c9
Compare
01c31c0 to
7833483
Compare

Summary:
https://docs.google.com/document/d/18f3pLcXbLein9McsXxiPzVJMmXhBFGWQ-6Gys5WILLk/edit?tab=t.zg1lhkeq1hek
Test: